// Package vo internal/entity/vo/menu_vo.go
package vo

import "time"

// SysMenuVO 菜单视图对象
type SysMenuVO struct {
	ID         int         `json:"id"`                 // ID
	ParentId   int         `json:"parentId"`           // 父菜单id
	MenuName   string      `json:"menuName"`           // 菜单名称
	Icon       string      `json:"icon"`               // 菜单图标
	Value      string      `json:"value"`              // 权限值
	MenuType   int         `json:"menuType"`           // 菜单类型：1->目录；2->菜单；3->按钮
	URL        string      `json:"url"`                // 菜单url
	MenuStatus int         `json:"menuStatus"`         // 启用状态；1->禁用；2->启用
	Sort       int         `json:"sort"`               // 排序
	CreateTime *time.Time  `json:"createTime"`         // 创建时间
	Children   []SysMenuVO `json:"children,omitempty"` // 子菜单
}

// SysMenuVo 菜单下拉选项VO
type SysMenuVo struct {
	Id       int    `json:"id"`       // ID
	ParentId int    `json:"parentId"` // 父id
	Label    string `json:"label"`    // 名称
}

// LeftMenuVo 左侧菜单vo
type LeftMenuVo struct {
	Id          int       `json:"id"`          // ID
	MenuName    string    `json:"menuName"`    // 菜单名称
	Icon        string    `json:"icon"`        // 图标
	Url         string    `json:"url"`         // url
	MenuSvoList []MenuSvo `json:"menuSvoList"` // 菜单列表
}

// MenuSvo 菜单级vo
type MenuSvo struct {
	MenuName string `json:"menuName"` // 菜单名称
	Icon     string `json:"icon"`     // 图标
	Url      string `json:"url"`      // url
}
